package org.yaukie.helper;

import java.lang.annotation.Annotation;
import java.util.List;
import org.yaukie.ClassCacheFactory;
import org.yaukie.support.api.ClassSupportApi;

public final class ClassHelper {
    private static final String basePackage = ConfigHelper.getAppBasePackage();
    private static final ClassSupportApi classSupportApi = ClassCacheFactory.getClassSupportApi();

    public ClassHelper() {
    }

    public static List<Class<?>> getClassList() {
        return classSupportApi.getClassList(basePackage);
    }

    public static List<Class<?>> getClassListBySuper(Class<?> superClass) {
        return classSupportApi.getClassListBySuper(basePackage, superClass);
    }

    public static List<Class<?>> getClassListByAnnotation(Class<? extends Annotation> annotationClass) {
        return classSupportApi.getClassListByAnnotation(basePackage, annotationClass);
    }
}
